/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package cn.ekuma.epos.datalogic.define.dao;

import e.odbo.data.dao.ModifiedLogDAO;
import cn.ekuma.epos.db.table.I_CustomerCategory;

import com.openbravo.data.basic.BasicException;
import com.openbravo.data.loader.serialize.DataRead;
import com.openbravo.data.loader.serialize.DataWrite;
import com.openbravo.data.loader.serialize.Datas;
import com.openbravo.data.loader.I_Session;
import com.openbravo.data.loader.ImageUtils;
import com.openbravo.data.loader.table.TableDefinition;
import com.openbravo.data.model.Field;
import com.openbravo.format.Formats;
import com.openbravo.pos.bean.CustomerCategoryExt;

/**
 *
 * @author Administrator
 */
public class CustomerCategoryExtDAO extends ModifiedLogDAO<CustomerCategoryExt>{

    public CustomerCategoryExtDAO(I_Session s) {
        super(s);
    }

    @Override
    public TableDefinition getTable() {
        return new TableDefinition(
                "CUSTOMERCATEGORIES",
                new Field[]{
                   new Field("ID",Datas.STRING, Formats.STRING),
                   new Field("NAME",Datas.STRING, Formats.STRING),
                   new Field("PARENTID",Datas.STRING, Formats.STRING,CustomerCategoryExt.class),
                   new Field("IMAGE", Datas.IMAGE, Formats.NULL),
                   new Field("ISHOT",Datas.BOOLEAN, Formats.BOOLEAN),
                   new Field("LASTMODIFIED",Datas.TIMESTAMP, Formats.TIMESTAMP),
                   new Field(I_CustomerCategory.CREATEDATE,Datas.TIMESTAMP, Formats.TIMESTAMP)
                } ,
                new int[]{0}){
			@Override
			public String getDefaultListOrder(String alise) {
				String ret=" order by ";
				if(alise!=null)
					ret+=alise+".";
				ret+=I_CustomerCategory.CREATEDATE+" ASC ";
				return ret;
			}
	
};

    }

    @Override
    public void writeInsertValues(DataWrite dp, CustomerCategoryExt obj) throws BasicException {
           dp.setString(1, obj.getID());
           dp.setString(2, obj.getName());
           dp.setString(3, obj.getM_sParentID());
           dp.setBytes(4, obj.getImage());
           dp.setBoolean(5, obj.isHot());
           dp.setTimestamp(6,obj.getLastModified());
           dp.setTimestamp(7, obj.getCreateDate());
    }

    public CustomerCategoryExt readValues(DataRead dr,CustomerCategoryExt obj) throws BasicException {
        if(obj==null)
        	obj=new CustomerCategoryExt();
        obj.setID(dr.getString(1));
        obj.setName(dr.getString(2));
        obj.setM_sParentID(dr.getString(3));
        obj.setImage(dr.getBytes(4));
        obj.setHot(dr.getBoolean(5));
        obj.setLastModified(dr.getTimestamp(6));
        obj.setCreateDate(dr.getTimestamp(7));
        return obj;
    }

    @Override
    public Class getSuportClass() {
        return CustomerCategoryExt.class;
    }

}
